package topevery.syn.data.model;

import com.alibaba.fastjson.annotation.JSONField;
import lombok.Data;
import topevery.syn.data.model.codec.ModelTypeEnumCodec;
import java.time.LocalDateTime;

@Data
public class OtherGasData implements IGlbModel {

    @JSONField(name = "a")
    public Long gid;

    @JSONField(name = "b", serializeUsing = ModelTypeEnumCodec.class, deserializeUsing = ModelTypeEnumCodec.class)
    public ModelTypeEnum modelType = ModelTypeEnum.OtherGasData;

    @JSONField(name = "c")
    public String clientKey;

    @JSONField(name = "d")
    public LocalDateTime dbCreateDate;

    @JSONField(name = "e")
    public LocalDateTime clientDate;

    @JSONField(name = "f")
    public String modelJson;


    //温度：单位摄氏度
    @JSONField(name = "g")
    public Double a01001_Rtd;
    //温度传感器：N/正常，D/异常
    @JSONField(name = "h")
    public String a01001_Flag;

    //湿度：单位%
    @JSONField(name = "i")
    public Double a01002_Rtd;
    //湿度传感器：N/正常，D/异常
    @JSONField(name = "j")
    public String a01002_Flag;

    //气压：单位Kpa
    @JSONField(name = "k")
    public Double a01006_Rtd;
    //气压传感器：N/正常，D/异常
    @JSONField(name = "l")
    public String a01006_Flag;

    //风速：单位m/s
    @JSONField(name = "m")
    public Double a01007_Rtd;
    //风速传感器：N/正常，D/异常
    @JSONField(name = "n")
    public String a01007_Flag;

    //风向：单位°
    @JSONField(name = "o")
    public Double a01008_Rtd;
    @JSONField(name = "p")
    //风向传感器：N/正常，D/异常
    public String a01008_Flag;

    //光照强度：单位Lux
    @JSONField(name = "q")
    public Double a04003_Rtd;
    //光照强度传感器：N/正常，D/异常
    @JSONField(name = "r")
    public String a04003_Flag;

    //雨量：单位mm
    @JSONField(name = "s")
    public Double a06001_Rtd;
    //雨量传感器：N/正常，D/异常
    @JSONField(name = "t")
    public String a06001_Flag;

    //水位深度：单位m
    @JSONField(name = "u")
    public Double e07001_Rtd;
    //水位深度传感器：N/正常，D/异常
    @JSONField(name = "v")
    public String e07001_Flag;

    //沼气浓度：单位%LEL
    @JSONField(name = "w")
    public Double a05002_Rtd;
    //水沼气浓度传感器：N/正常，D/异常
    @JSONField(name = "x")
    public String a05002_Flag;

    //浮球阀状态：浮球阀状态分为1和0；1代表浮球阀动作到满的位置状态，0代表未到动作到满位置状态。
    @JSONField(name = "y")
    public Double g10001_Rtd;
    //浮球阀状态传感器：N/正常，D/异常
    @JSONField(name = "z")
    public String g10001_Flag;


    @Override
    public String getGlbModelKey() {
        return clientKey;
    }

    @Override
    public Long getGid() {
        return gid;
    }

    @Override
    public void setGid(Long gid) {
        this.gid = gid;
    }

    @Override
    public ModelTypeEnum getModelType() {
        return modelType;
    }

    @Override
    public void setModelType(ModelTypeEnum modelType) {
        this.modelType = modelType;
    }
}